#!php
<?php
/**
 * php-cli 雏形程序
 */
defined("STDIN") or define("STDIN", fopen('php://stdin', 'r'));
defined("STDOUT") or define("STDOUT", fopen('php://stdout', 'w'));
defined("STDERR") or define("STDERR", fopen('php://stderr', 'w'));

//$a = fread(STDIN, 1024); // 兼容windows
//echo $a;
//exit;

//echo readline('你好?:'); 只能在linux下用
//exit;

if(php_sapi_name() !== 'cli') {
    exit('no cli');
}
var_dump($argc,$argv); // 第一个参数就是文件名
echo 'hello';
// todo 直接生成可执行文件 放在 /usr/bin 下
//echo  'wait for minutes'.PHP_EOL;
// 进度条实现
//$b = '';
//for($i = 0; $i <= 100; $i+=2) { // 有的环境下没有用
//    system('printf "progress:[%-50s]%d%%\r"'." $b $i");
//    $b .= '#';
//}

echo PHP_EOL;
echo 'php_dir:'.$_SERVER['_'].PHP_EOL;
echo 'file_dir:'.getcwd().PHP_EOL;

echo 'SERVER:'.PHP_EOL;
//var_dump($_SERVER);
echo '----------------'.PHP_EOL;
echo 'exe_time:'.$_SERVER['REQUEST_TIME'].PHP_EOL;
echo 'done'.PHP_EOL;

// : -> 需要值 ::->不要值 一直为false
$h = getopt('h:a:', ['help']); // php xx.php -h asdf -a asdf --help

var_dump($h);

function pid()
{
    echo 'PID:';
    if(function_exists('posix_getpid')) {
        echo posix_getpid().PHP_EOL;
    } else {
        echo getmypid().PHP_EOL;
    }
    foreach (glob(sys_get_temp_dir().DIRECTORY_SEPARATOR.'pcli-*') as $v) {
        echo $v.PHP_EOL; // 可以 加 -l 查看正在运行的程序
//        $f = pathinfo($v, PATHINFO_BASENAME);
//        $t = explode('-', $f);
//        var_dump($t);
//        $pid = end($t);
//        if(file_exists('/proc/'.$pid)) {
//            return true;
//        } else {
//            echo 'unlink';
//            unlink($v);
//        }
    }
    echo 'temp_dir:' , sys_get_temp_dir().PHP_EOL;
}
pid();

var_dump(strpos(strtolower(php_uname('s')), 'linux') !== false); // 检查是否为linux系统 有些功能只支持linux


fclose(STDIN);
fclose(STDOUT);
fclose(STDERR);